#ifndef QUEUE_H
#define QUEUE_H

#include "config.h"

#define FILEPATH 300

typedef struct Pair{
    void *first;
    void *second;
} Pair;

typedef struct Node {
    void *data;
    struct Node *next;
} Node;

typedef struct Queue {
    Node *head;
    Node *tail;
    int size;
} Queue;

Queue* queue_create();
void queue_destroy(Queue *q);
void queue_push(Queue *q, void *data);
void* queue_pop(Queue *q); 
int is_empty(Queue *q);
int queue_size(Queue *q);

#endif